# delimit;
set more off;

*users should download Feb11public.sav file and convert to .dta format;
use Feb11public.dta, clear;

recode q6e (5/9=.)(1=4)(2=3)(3=2)(4=1), gen(opfed);
recode q6f (5/9=.)(1=4)(2=3)(3=2)(4=1), gen(opst);
recode q6g (5/9=.)(1=4)(2=3)(3=2)(4=1), gen(oploc);
recode q6b (5/9=.)(1=4)(2=3)(3=2)(4=1), gen(opbusin);
	
	
label define opinions_rev

	4 "Very favorable"   
	3 "Mostly favorable"      
	2 "Mostly unfavorable"      
	1 "Very unfavorable"  ;
 
foreach var in busin fed st loc {;
	label values op`var' opinions_rev;
	};
	

recode q1 (1=1 "Approve")(2=0 "Disapprove")(9=.), gen(approve);
label var approve "President Job Approval";


recode sex (1=1)(2=0), gen(r_male);

recode age (99=.), gen(r_age);

recode educ (9=.), gen(r_educ);

recode hisp (1=1)(2=0)(9=.), gen(r_hisp);

recode race1m1 (1=1) (2/4=0)(9=.), gen(r_white);
   replace r_white=0 if r_hisp==1;

recode race1m1 (2=1)(1=0)(3/4=0)(9=.), gen(r_black);
   replace r_black=0 if r_hisp==1;
   
recode race1m1 (3=1)(1 2=0)(4=0)(9=.), gen(r_asian);
   replace r_asian=0 if r_hisp==1;   

recode income (10=.), gen(r_income);

recode born (1=1)(2=0)(.=0)(9=.), gen(r_bornagn);

recode regist
           (1=1 "Yes, registered")
           (2=0 "No, not registered")
           (9=. ), gen(r_regist);

recode party (1=1)(2/5=0)(9=.), gen(gop);
recode party (1=0)(2=1)(3/5=0)(9=.), gen(dem);
recode party (1/2=0)(3/5=1)(9=.), gen(ind);

recode party (1=1 "Republican")(2=5 "Democrat") (3/5=3 "Independent")(9=.), gen(partyid);
replace partyid=2 if partyid==3 & partyln==1;
replace partyid=3 if partyid==3 & partyln==9;
replace partyid=4 if partyid==3 & partyln==2;

recode ideo (9=.), gen(ideo_all);
tab ideo_all, gen(ideo);

recode employ (9=.);
tab employ, gen(employ);

recode labor2 (1=1 "Yes")(2=0 "No")(9=.), gen(r_union);

gen year=2011;

rename state fips;

keep fips r_* op* approve gop dem ind partyid ideo* employ* year weight;

codebook r_* op* approve gop dem ind partyid ideo* employ*;
